using System;
using System.ComponentModel.DataAnnotations;

namespace RBDD.Embol.AccesoDatos.Entidades
{
 public partial class ReclamoProducto
 {
     public ReclamoProducto()
     {
     }
     #region foreign Keys

     public int Solicitud_FK {get;set;}
     private Actitud Solicitud_obj ;
     public virtual Actitud Solicitud
      {
          get { return Solicitud_obj; }
          set {
                Solicitud_obj = value;
                if (Solicitud_obj != null) Solicitud_FK = Solicitud_obj.Id; 
          }
      }

     public int CanalId_FK {get;set;}
     private Canal CanalId_obj ;
     public virtual Canal Canal
      {
          get { return CanalId_obj; }
          set {
                CanalId_obj = value;
                if (CanalId_obj != null) CanalId_FK = CanalId_obj.Id; 
          }
      }

     public int CiudadId_FK {get;set;}
     private Ciudad CiudadId_obj ;
     public virtual Ciudad Ciudad
      {
          get { return CiudadId_obj; }
          set {
                CiudadId_obj = value;
                if (CiudadId_obj != null) CiudadId_FK = CiudadId_obj.Id; 
          }
      }

     public int LugarAdquisicionId_FK {get;set;}
     private LugarAdquisicion LugarAdquisicionId_obj ;
     public virtual LugarAdquisicion LugarAdquisicion
      {
          get { return LugarAdquisicionId_obj; }
          set {
                LugarAdquisicionId_obj = value;
                if (LugarAdquisicionId_obj != null) LugarAdquisicionId_FK = LugarAdquisicionId_obj.Id; 
          }
      }

     public int ProductoId_FK {get;set;}
     private Producto ProductoId_obj ;
     public virtual Producto Producto
      {
          get { return ProductoId_obj; }
          set {
                ProductoId_obj = value;
                if (ProductoId_obj != null) ProductoId_FK = ProductoId_obj.Id; 
          }
      }

     public int ResponsableId_FK {get;set;}
     private Responsable ResponsableId_obj ;
     public virtual Responsable Responsable
      {
          get { return ResponsableId_obj; }
          set {
                ResponsableId_obj = value;
                if (ResponsableId_obj != null) ResponsableId_FK = ResponsableId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     [Display(Name = "CantidadReportada")]
     public virtual int   CantidadReportada { get; set;}

     [StringLength(15, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Codificacion")]
     public virtual string   Codificacion { get; set;}

     [DataType(DataType.Date)]
     [Display(Name = "FechaConsumo")]
     public virtual DateTime   FechaConsumo { get; set;}

     [DataType(DataType.Date)]
     [Display(Name = "FechaAdquisicion")]
     public virtual DateTime   FechaAdquisicion { get; set;}

     [DataType(DataType.Date)]
     [Display(Name = "FechaVisita")]
     public virtual DateTime   FechaVisita { get; set;}

     //[StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Descripcion")]
     public virtual string   Descripcion { get; set;}

     [Display(Name = "CantidadRetirada")]
     public virtual int?   CantidadRetirada { get; set;}

     //[StringLength(200, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "ResultadoVisita")]
     public virtual string   ResultadoVisita { get; set;}

     //[StringLength(200, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "ResultadoLaboratorio")]
     public virtual string   ResultadoLaboratorio { get; set;}

     [Display(Name = "FechaAnalisis")]
     public virtual DateTime?   FechaAnalisis { get; set;}

     //[StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "ComentarioCierre")]
     public virtual string   ComentarioCierre { get; set;}

     //[StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Nombre")]
     public virtual string   Nombre { get; set;}
 }
}

